package com.mldong.modules.sys.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.*;
import com.mldong.validation.Groups;
/**
 * <p>
 * 第三方回调处理
 * </p>
 *
 * @author mldong
 * @since 2025-10-12
 */
@Getter
@Setter
@TableName("sys_third_party_callback")
@ApiModel(value = "ThirdPartyCallbackParam对象", description = "第三方回调处理")
public class ThirdPartyCallbackParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键", required = true)
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @NotNull(message = "主键不能为空", groups = {Groups.Update.class})
    private Long id;

    @ApiModelProperty(value = "回调渠道(wx：微信；ali：支付宝；union银联)", required = true)
    @NotBlank(message = "回调渠道(wx：微信；ali：支付宝；union银联)不能为空")
    private String channelType;

    @ApiModelProperty(value = "回调业务ID")
    private String serviceId;

    @ApiModelProperty(value = "回调服务类型(wx_pay：微信支付回调，wx_refund微信退款回调)", required = true)
    @NotBlank(message = "回调服务类型(wx_pay：微信支付回调，wx_refund微信退款回调)不能为空")
    private String serviceType;

    @ApiModelProperty(value = "回调请求正文")
    private String body;

    @ApiModelProperty(value = "处理状态（0：未处理；1：处理成功：2：处理失败）")
    private Integer handleStatus;

    @ApiModelProperty(value = "处理结果数据")
    private String handleResult;


}
